﻿//////////////////////////////////////////////////////////////////////////////
//
//  Copyright © 1998-2024 Glodon Company Limited.  All rights reserved.
//
//  Use of this software is subject to the terms of the Glodon license
//  agreement provided at the time of installation or download, or which
//  otherwise accompanies this software in either electronic or hard copy form.  
//
//////////////////////////////////////////////////////////////////////////////


#pragma once

#include "GcmpCommonEdit.h"

namespace gcmp
{
    class IActionMirrorBehavior;

    /// \brief 默认镜像Action设置，用于创建镜像Action参数。
    class GCMP_COMMON_EDIT_EXPORT ActionMirrorInput
    {
    public:
        /// \brief 获取镜像Action的Behavior
        /// \return 镜像Action的Behavior指针
        OwnerPtr<IActionMirrorBehavior> GetMirrorActionBehavior();

        /// \brief 设置镜像Action的Behavior
        /// \param[in] opActionMirrorBehavior 镜像Action的Behavior
        void SetMirrorActionBehavior(OwnerPtr<IActionMirrorBehavior> opActionMirrorBehavior);

    public:
        /// \brief 构造函数。
        ActionMirrorInput();

        /// \brief 析构函数
        ~ActionMirrorInput();

    private:
        gcmp::OwnerPtr<IActionMirrorBehavior> m_opMirrorActionBehavior;
    };
}
